Razor হল একটি view engine যা ASP.Net MVC এবং ASP.Net Core অ্যাপ্লিকেশনগুলিতে ডায়নামিক HTML তৈরি করতে ব্যবহৃত হয়। Razor-এর মাধ্যমে আপনি C# কোডকে HTML-এর সাথে সহজে একত্রিত করতে পারেন, যার ফলে আপনি ডায়নামিকভাবে ডেটা প্রদর্শন করতে এবং ইন্টারঅ্যাকটিভ ওয়েব পেজ তৈরি করতে পারেন। Razor HTML এবং CSS-এর সাথে সহজেই ইন্টিগ্রেট করা যায়, যা ASP.Net অ্যাপ্লিকেশনগুলিকে আরও গতিশীল এবং ব্যবহারকারী-বান্ধব করে তোলে।
Razor কোড HTML এর মধ্যে এম্বেড করা হয়। এটি সাধারণত @
সাইন দ্বারা চিহ্নিত হয়, যা C# কোডের ইনপুট বা আউটপুট প্রকাশ করে। এখানে একটি উদাহরণ দেওয়া হলো যেখানে Razor কোড HTML-এর মধ্যে ব্যবহার করা হচ্ছে:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Razor with HTML</title>
</head>
<body>
<h1>@ViewData["Title"]</h1>
<p>Today's date is: @DateTime.Now.ToString("dd-MM-yyyy")</p>
</body>
</html>
এখানে @ViewData["Title"]
এবং @DateTime.Now.ToString("dd-MM-yyyy")
Razor কোড HTML-এর মধ্যে এম্বেড করা হয়েছে। @ViewData হল একটি dictionary যা কন্ট্রোলার থেকে ভিউতে ডেটা পাঠাতে ব্যবহৃত হয়।
Razor ভিউতে CSS সংযোজন করার জন্য, আপনি সাধারণ HTML <link>
ট্যাগ ব্যবহার করতে পারেন যেটি আপনার CSS ফাইলকে লিঙ্ক করে। এটি আপনি wwwroot ফোল্ডারে রাখবেন (যেখানে সমস্ত স্ট্যাটিক ফাইল রাখা হয়)।
CSS ফাইল তৈরি করা:
styles.css
।styles.css:
body {
font-family: Arial, sans-serif;
background-color: #f0f0f0;
}
h1 {
color: #333;
}
CSS ফাইল Razor ভিউতে যুক্ত করা:
<link>
ট্যাগের মাধ্যমে যুক্ত করুন।Razor View (Index.cshtml):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Razor with HTML and CSS</title>
<link rel="stylesheet" href="~/css/styles.css">
</head>
<body>
<h1>@ViewData["Title"]</h1>
<p>Today's date is: @DateTime.Now.ToString("dd-MM-yyyy")</p>
</body>
</html>
এখানে href="~/css/styles.css"
Razor সিনট্যাক্স দ্বারা wwwroot/css/styles.css ফাইলটি সঠিকভাবে যুক্ত করা হয়েছে।
আপনি Razor ভিউতে CSS এর ইনলাইন স্টাইলও ব্যবহার করতে পারেন। এতে প্রতিটি HTML ট্যাগের মধ্যে সরাসরি স্টাইল প্রয়োগ করা হয়। উদাহরণ:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Razor with Inline CSS</title>
</head>
<body style="background-color: #f0f0f0; font-family: Arial, sans-serif;">
<h1 style="color: #333;">@ViewData["Title"]</h1>
<p>Today's date is: @DateTime.Now.ToString("dd-MM-yyyy")</p>
</body>
</html>
এখানে style="background-color: #f0f0f0;"
CSS কোড সরাসরি HTML ট্যাগে ব্যবহৃত হয়েছে।
Razor ব্যবহার করে আপনি CSS ক্লাসগুলোকে ডায়নামিকভাবে অ্যাসাইন করতে পারেন, অর্থাৎ, আপনি কোডের মাধ্যমে CSS ক্লাস যুক্ত বা পরিবর্তন করতে পারেন।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Razor with Dynamic CSS</title>
<link rel="stylesheet" href="~/css/styles.css">
</head>
<body>
<h1 class="@ViewData["TitleClass"]">@ViewData["Title"]</h1>
<p>Today's date is: @DateTime.Now.ToString("dd-MM-yyyy")</p>
</body>
</html>
এখানে, @ViewData["TitleClass"] Razor কোড ব্যবহার করে class অ্যাট্রিবিউট ডাইনামিকভাবে সেট করা হয়েছে। আপনি কন্ট্রোলার থেকে ডাইনামিক CSS ক্লাস পাঠাতে পারেন:
public IActionResult Index()
{
ViewData["Title"] = "Welcome to Razor!";
ViewData["TitleClass"] = "highlight"; // CSS ক্লাসের নাম
return View();
}
এখানে highlight
CSS ক্লাসটি Razor ভিউতে ডায়নামিকভাবে অ্যাসাইন করা হয়েছে।
CSS মিডিয়া কোয়ারি ব্যবহার করে আপনি ভিউতে বিভিন্ন স্ক্রীন সাইজের জন্য আলাদা স্টাইল প্রয়োগ করতে পারেন। Razor ভিউতে মিডিয়া কোয়ারি কাস্টমাইজেশনও করা সম্ভব।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Razor with Media Queries</title>
<link rel="stylesheet" href="~/css/styles.css">
</head>
<body>
<h1>@ViewData["Title"]</h1>
<p>Today's date is: @DateTime.Now.ToString("dd-MM-yyyy")</p>
<style>
@media only screen and (max-width: 600px) {
body {
background-color: lightblue;
}
}
</style>
</body>
</html>
এখানে @media only screen and (max-width: 600px)
CSS মিডিয়া কোয়ারি ব্যবহার করা হয়েছে, যা স্ক্রীনের আকারের উপর ভিত্তি করে স্টাইল পরিবর্তন করে।
Read more